package net.siufung.boot.datasource.service;

import net.siufung.boot.datasource.dto.ConnDto;
import net.siufung.boot.datasource.dto.TableNamesDto;
import net.siufung.boot.datasource.entity.TableInfo;

import java.sql.Connection;
import java.util.List;

/**
 * @author 陈建峰
 * @since 2022/8/15 5:58 下午
 */
public interface IDatasourceService {

    /**
     * 获取数据源的链接方式
     * @param connDto 链接参数
     * @return Connection
     */
    Connection getConn(ConnDto connDto);

    /**
     * 获得数据库表集合
     * @param tableNamesDto 数据库链接
     * @return List<TableInfo>
     */
    List<TableInfo> getTableInfoList(TableNamesDto tableNamesDto);

    /**
     * 获得数据库表集合
     * @param tableNamesDto 数据库链接
     * @param ignoreField 忽略生成Field信息
     * @return List<TableInfo>
     */
    List<TableInfo> getTableInfoList(TableNamesDto tableNamesDto, Boolean ignoreField);

}
